home *** CD-ROM | disk | FTP | other *** search
/ Netware Super Library / Netware Super Library.iso / pgm_tool / lu62 / proc / fconfd.c < prev    next >
C/C++ Source or Header  |  1995-07-03  |  1KB  |  70 lines

  1. /*
  2.  * CopyRight 1995. Nicholas Poljakov all rights reserved.
  3.  */
  4. #include <malloc.h>
  5. #include <stdio.h>
  6. #include <dos.h>
  7. #include <confd.h>
  8. #include <state1.h>
  9.  
  10.  confirmed (tp_id,conv_id,
  11.            p_rc)
  12. unsigned char tp_id[8];
  13. unsigned long conv_id;
  14.  
  15. struct rc {
  16.  unsigned int prim;
  17.  unsigned long sec; } *p_rc;
  18.  
  19.  
  20.  {
  21.   union REGS inregs,outregs;
  22.   struct SREGS segregs;
  23.   struct confirmed *ptr;
  24.        char _near *dp1;
  25.        char _near *dp2;
  26.   int l;
  27.  
  28.      l = sizeof(struct confirmed);
  29.      if ((ptr = (char *)calloc(1,l)) == NULL)
  30.        {
  31.         p_rc->prim = PORT_BUSY; /* ¡ÑΓ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ */
  32.         p_rc->sec = 0x00;
  33.         return(0);
  34.         }
  35.  
  36.      ptr->code=COnfirmed;
  37.      ptr->e_cd=0x0000;
  38.  
  39.      memcpy(ptr->tp_id,tp_id,8);
  40.  
  41.      ptr->conv_id = conv_id;
  42. /*
  43.      inregs.x.dx = FP_OFF(ptr);
  44.      segregs.ds = FP_SEG(ptr);
  45.      inregs.x.ax = ptr->code;
  46.  
  47.          int86x(0x68,&inregs,&outregs,&segregs);
  48.  */
  49.      dp1 = FP_OFF( ptr );
  50.      dp2 = FP_SEG( ptr );
  51.      _asm
  52.          {
  53.             push  ds
  54.             mov   dx, word ptr dp1[0]
  55.             mov   ax, word ptr dp2[0]
  56.         mov   ds, ax
  57.         mov   ax, COnfirmed
  58.             int   68h
  59.             pop   ds
  60.          }
  61.  
  62.   p_rc->prim = ptr->prim_rc;
  63.   p_rc->sec = ptr->sec_rc;
  64.  
  65.  free(ptr);
  66.  
  67.  
  68.  return(0);
  69.  }
  70.